package com.zihan.service;

import com.zihan.domain.dto.AchievementDTO;
import com.zihan.domain.entity.Achievement;
import com.baomidou.mybatisplus.extension.service.IService;
import com.zihan.domain.result.PageResult;
import com.zihan.domain.result.Result;
import com.zihan.domain.vo.AchievementVO;

/**
 * <p>
 * 成果表 服务类
 * </p>
 *
 * @author zhangzihan
 * @since 2025-10-17
 */
public interface IAchievementService extends IService<Achievement> {

    /**
     * 添加成果
     * @param achievement
     * @return
     */
    Result<String> addAchievement(Achievement achievement);

    Result<PageResult> getMyList(AchievementDTO achievement);

    /**
     * 获取成果详情内容
     * @param id
     * @return
     */
    Result<AchievementVO> getDetail(Long id);

    Result<String> updateAchievement(Achievement achievement);

    // 删除成果
    Result<String> deleteAchievement(Long id);

    // 获取当前教师审核的成果列表
    Result<PageResult> getTeacherReviewList(AchievementDTO achievement);

    // 教师审核
    Result<String> teacherReview(Achievement achievement);

    // 获取管理员审核的成果列表
    Result<PageResult> getAdminReviewList(AchievementDTO achievement);

    // 管理员审核
    Result<String> adminReview(Achievement achievement);
}
